WAVELET BASED AUDIO COMPRESSION SYSTEM

 
Our Audio compression scheme is based on the principal of Transform Coding. The input audio is transformed into a different domain using the Discrete Wavelet Transform and then quantized. The reciever reconstructs the signal by applying the Inverse Transformation. The output is distorted by the Quantization Noise introduced in the signal during the quantization step. The magnitude of the distortion is directly related to the compression ratio.

The 1-D Discrete Wavelet Transform of the image is obtained by passing the image through a 1-D Perfect Reconstruction Filter Bank. The filters constituting the bank are FIR filters with specialized coefficients for which the conditions of Perfect Reconstruction, Convergence &  Stability of Basis Functions hold true. The Filter Bank outputs different subbands of the audio which constitute the DWT of the signal.

For our implementation, we used Daubechies-24 Wavelet. We wrote our assembly code in such a way as to allow the use of other wavelets as well.

Our quantization scheme for the audio coder is static in nature. There were a number of reasons for that. Firstly, applying the Optimal Bit allocation algorithm (based on Rate - Distortion theory given by [Strang]) we found that the number of bits allotted to different subbands do not vary significantly for a single speaker. The step-sizes do vary with the energy of the signal, and this can be accomodated in an higher order coder. Secondly, our intention was to design a low complexity coder that had acceptable quality as well. Our coder/decoder runs at about 10MIPS (on Motorola's DSP56002) at a compression ratio of x4, which is about as simple as it gets.

At the reconstruction side, the synthesis bank assembles the reconstructed signal from the quantized transform coefficients.

For our implementation, we used Motorola's DSP56002 EVM board. Our code allows 4-level DWT using any set of filter coefficients. The number of levels of the code are hard-wired, but the code is well organized enough to allow higher number of levels as well.

We tested the algorithm for different Bit Rates. The results show acceptable output quality at low complexities.